package lil.llahn.security.common.utils;

/**
 * @ClassName: Base64
 * @Description: TODO Base64编码解码器
 * @Date: 2019/11/8 14:22
 * @Auther: lil
 */
public class Base64 {
    /**
     * todo 编码器
     *
     * @param bytes
     * @return
     */
    public static byte[] encoder(byte[] bytes) {
        return java.util.Base64.getEncoder().encode(bytes);
    }

    /**
     * todo 解码器
     *
     * @param bytes
     * @return
     */
    public static byte[] decoder(byte[] bytes) {
        return java.util.Base64.getDecoder().decode(bytes);
    }

    /**
     * todo 编码器
     *
     * @param data
     * @return
     */
    public static String encoder(String data) {
        byte[] bytes = encoder(data.getBytes());
        return new String(bytes);
    }

    /**
     * todo 解码器
     *
     * @param data
     * @return
     */
    public static String decoder(String data) {
        byte[] bytes = decoder(data.getBytes());
        return new String(bytes);
    }

    /**
     * todo 加密器
     *
     * @param bytes
     * @return
     */
    public static String encoderToString(byte[] bytes) {
        return new String(encoder(bytes));
    }

    /**
     * todo 解密器
     *
     * @param bytes
     * @return
     */
    public static String decoderToString(byte[] bytes) {
        return new String(decoder(bytes));
    }

    /**
     * todo 加密器
     *
     * @param data
     * @return
     */
    public static byte[] encoderToByte(String data) {
        return encoder(data.getBytes());
    }

    /**
     * todo 解密器
     *
     * @param data
     * @return
     */
    public static byte[] decoderToByte(String data) {
        return decoder(data.getBytes());
    }
}
